package org.coopac.model;

// Generated 07/05/2012 06:37:29 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Maestro2 generated by hbm2java
 */
@Entity
@Table(name = "maestro2", catalog = "coopac")
public class Maestro2 implements java.io.Serializable {

	private Integer id;
	private Maestro2 maestro2;
	private String nombre;
	private String descripcion;
	private boolean flag;
	private Set<Maestro2> maestro2s = new HashSet<Maestro2>(0);

	public Maestro2() {
	}

	public Maestro2(String nombre, boolean flag) {
		this.nombre = nombre;
		this.flag = flag;
	}

	public Maestro2(Maestro2 maestro2, String nombre, String descripcion,
			boolean flag, Set<Maestro2> maestro2s) {
		this.maestro2 = maestro2;
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.flag = flag;
		this.maestro2s = maestro2s;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "familia")
	public Maestro2 getMaestro2() {
		return this.maestro2;
	}

	public void setMaestro2(Maestro2 maestro2) {
		this.maestro2 = maestro2;
	}

	@Column(name = "nombre", nullable = false, length = 225)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "descripcion", length = 225)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "flag", nullable = false)
	public boolean isFlag() {
		return this.flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "maestro2")
	public Set<Maestro2> getMaestro2s() {
		return this.maestro2s;
	}

	public void setMaestro2s(Set<Maestro2> maestro2s) {
		this.maestro2s = maestro2s;
	}

}
